#ifndef QOPENHARMONYCAMERACONTROL_H
#define QOPENHARMONYCAMERACONTROL_H

#include <qcameracontrol.h>

QT_BEGIN_NAMESPACE

class QOPenHarmonyCameraSession;

class QOPenHarmonyCameraControl : public QCameraControl
{
    Q_OBJECT

public:
    explicit QOPenHarmonyCameraControl(QOPenHarmonyCameraSession *session);
    virtual ~QOPenHarmonyCameraControl();

    QCamera::State state() const;
    void setState(QCamera::State state);

    QCamera::Status status() const;

    QCamera::CaptureModes captureMode() const;
    void setCaptureMode(QCamera::CaptureModes mode);
    bool isCaptureModeSupported(QCamera::CaptureModes mode) const;

    bool canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const;

private:
    QOPenHarmonyCameraSession *m_cameraSession;
};

QT_END_NAMESPACE

#endif // QOPENHARMONYCAMERACONTROL_H
